package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 盘盈单/盘亏单基础信息对象 erp_king_profit_loss_info
 * @author wutao
 * @date 2024-07-23
 */
@TableName ("erp_king_profit_loss_info")
@ApiModel (value = "erp_king_profit_loss_info对象", description = "盘盈单/盘亏单基础信息")
@Data
public class KingProfitLossEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 单据类型编号
     */
    @ApiModelProperty ("单据类型编号")
    @TableField ("doc_type_code")
    @Excel (name = "单据类型编号")
    private String docTypeCode;

    /**
     * 单据编号
     */
    @ApiModelProperty ("单据编号")
    @TableField ("doc_no")
    @Excel (name = "单据编号")
    private String docNo;

    /**
     * 库存组织编码
     */
    @ApiModelProperty ("库存组织编码")
    @TableField ("inventory_org_code")
    @Excel (name = "库存组织编码")
    private String inventoryOrgCode;

    /**
     * 货主类型;
     * 业务组织：BD_OwnerOrg;
     * 供应商组织：BD_Supplier;
     * 客户组织：BD_Customer
     */
    @ApiModelProperty ("货主类型;" +
            "业务组织：BD_OwnerOrg;" +
            "供应商组织：BD_Supplier;" +
            "客户组织：BD_Customer")
    @TableField ("shipper_type")
    @Excel (name = "货主类型")
    private String shipperType;

    /**
     * 货主编码,根据货主类型字段关联不同业务id
     */
    @ApiModelProperty ("货主编码,根据货主类型字段关联不同业务id")
    @TableField ("shipper_code")
    @Excel (name = "货主编码,根据货主类型字段关联不同业务id")
    private String shipperCode;

    /**
     * 日期
     */
    @ApiModelProperty ("日期")
    @TableField ("biz_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bizTime;

    @ApiModelProperty ("审核日期")
    @TableField ("examine_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examineTime;

    @ApiModelProperty ("审核人")
    @TableField ("examine_name")
    @Excel (name = "审核人")
    private String examineName;


    /**
     * 部门，dialog选择
     */
    @ApiModelProperty ("部门，dialog选择")
    @TableField ("biz_dept_code")
    @Excel (name = "部门，dialog选择")
    private String bizDeptCode;

    /**
     * 仓管员
     */
    @ApiModelProperty ("仓管员")
    @TableField ("keeper_user_code")
    @Excel (name = "仓管员")
    private String keeperUserCode;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 类型;1:盘盈单;2:盘亏单
     */
    @ApiModelProperty ("类型;1:盘盈单;2:盘亏单")
    @TableField ("type")
    @Excel (name = "类型;1:盘盈单;2:盘亏单")
    private Integer type;

    /**
     * 当前登录公司
     */
    @ApiModelProperty ("当前登录公司")
    @TableField ("dept_id")
    @Excel (name = "当前登录公司")
    private String deptId;

    /** 流程状态 */
    @ApiModelProperty ("流程状态")
    @TableField ("state")
    @Excel (name = "流程状态")
    private String state;

    @ApiModelProperty ("流程实例id")
    @TableField ("instance_id")
    private String instanceId;

    @ApiModelProperty ("创建人")
    @TableField ("create_user_id")
    private String createUserId;

    @ApiModelProperty ("创建时间")
    @TableField ("create_date")
    private Date createDate;

    @ApiModelProperty ("修改人")
    @TableField ("update_user_id")
    private String updateUserId;

    @ApiModelProperty ("修改时间")
    @TableField ("update_date")
    private Date updateDate;

    /**
     * 是否可以
     */
    @ApiModelProperty ("是否可以")
    @TableField ("is_used")
    @Excel (name = "是否可以")
    private Integer isUsed;

    @ApiModelProperty ("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty ("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty ("业务部门名称")
    @TableField (exist = false)
    private String bizDeptName;

    @ApiModelProperty ("库存组织名称")
    @TableField (exist = false)
    private String deptName;

}
